package com.totem.customer.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;

@Data
public class CustomerLoginVO implements Serializable {
    /** request **/
    @Schema(title="请求字段,根据loginType三选一")
    private String nickname;
    @Schema(title="请求字段,根据loginType三选一, loginType为MOBILE时, countryCode和mobile同时必填")
    private String countryCode;
    @Schema(title="请求字段,根据loginType三选一, loginType为MOBILE时, countryCode和mobile同时必填")
    private String mobile;
    @Schema(title="请求字段,根据loginType三选一")
    private String email;
    @Schema(title="请求字段, 密码,必填")
    @NotEmpty(message = "password不能为空")
    private String password;
    @Schema(title="请求字段, 登录类型, NICKNAME-账号密码登陆, MOBILE-手机号登陆, EMAIL-邮箱登陆")
    @NotEmpty(message = "登录类型, NICKNAME-账号密码登陆, MOBILE-手机号登陆, EMAIL-邮箱登陆")
    private String loginType;

    /** response **/
    @Schema(title="响应字段, token, 用于后续其他接口")
    private String token;
    @Schema(title="响应字段, 邀请码")
    private String inviteCode;
    @Schema(title="响应字段, 头像url")
    private String avatarUrl;
    @Schema(title="响应字段, 客户Id")
    private Long customerId;
    @Schema(title="响应字段, 角色")
    private String roles;
}
